package com.ouc.oceanBase.service;

import com.ouc.oceanBase.entity.ContourData;
import com.ouc.oceanBase.pojo.NcCubeData;
import ucar.ma2.InvalidRangeException;

import java.io.IOException;

/**
 * @author B504
 * @date 2023/3/13
 * @apiNote
 */
public interface FeatureService {
  /**
   * 获取nc文件的立方体数据
   *
   * @param filePath     nc文件
   * @param variableName 变量名
   * @param lon          经度限制条件
   * @param lat          纬度限制条件
   * @param positionOf0  时间限制
   * @return
   * @throws IOException
   * @throws InvalidRangeException
   */
  ContourData<NcCubeData> getNcCubeData(String filePath, String variableName, Float[] lon, Float[] lat, Integer positionOf0) throws IOException, InvalidRangeException;

  /**
   * 获取nc文件的立方体数据
   *
   * @param filePath     文件路径
   * @param variableName 变量名
   * @param lon          经度限制条件
   * @param lat          纬度限制条件
   * @return
   * @throws IOException
   * @throws InvalidRangeException
   */
  ContourData<NcCubeData> getNcCubeData(String filePath, String variableName, Float[] lon, Float[] lat) throws IOException, InvalidRangeException;

}
